package com.ying.service.system;

import com.ying.core.page.PageData;
import com.ying.core.page.PageWrap;
import com.ying.po.system.User;
import me.zhyd.oauth.model.AuthResponse;

import java.util.List;

/**
 * 示例Service定义
 * @author 硬
 * @date 2021/12/04 20:13
 */
public interface UserService {

    Integer create(User user);

    void deleteById(Integer id);

    void deleteByIdInBatch(List<Integer> ids);

    void updateById(User user);

    void updateByIdInBatch(List<User> users);

    User findById(Integer id);

    public List<User> findByIdInBatch(List<Integer> ids);

    PageData<User> findAllByPage(PageWrap pageWrap);

    long countAll();

    List<User> findAll();

    PageData<User> queryAllByPage(PageWrap<User> pageWrap);

    boolean checkSensitiveWord(User user);

    User findByUsernameAndPassword(String username, String password);

    Integer findByUserObj(User user);

    User getUserInfoFormAuthRes(AuthResponse authResponse);

    List<User> findByRoleCode(Integer roleCode);
}
